home *** CD-ROM | disk | FTP | other *** search
/ PC Answers 2003 September / PC Answers September 2003.iso / Software / freeware / pixeltoolbox / Setup.exe / Main / PixelToolbox.exe / PixelToolbox.dxr / Scripts_51_rotate & flip functions.ls < prev    next >
Encoding:
Text File  |  2002-06-08  |  9.6 KB  |  183 lines

  1. global gSize, gCast, gVariable, gSecondColor, myCurrentImage, myCurrentPreview, myCurrentSelection, gSelectRect, gMarqueeRect, gSelectionEdited, myStartImage, myTimerStart
  2.  
  3. on rotate90Degrees
  4.   cursor(4)
  5.   if sprite(4).left = 800 then
  6.     member("state1 - " & gSize, gCast).image = member(gSize & "x" & gSize, gCast).image
  7.     myCurrentImage = duplicate(member(gSize & "x" & gSize, gCast).image)
  8.     myCurrentPreview = duplicate(member("preview", gCast).image)
  9.     myCurrentImage.copyPixels(member(gSize & "x" & gSize, gCast).image, [point(integer(gSize), 0), point(integer(gSize), integer(gSize)), point(0, integer(gSize)), point(0, 0)], member(gSize & "x" & gSize, gCast).rect)
  10.     member(gSize & "x" & gSize, gCast).image.copyPixels(myCurrentImage, myCurrentImage.rect, myCurrentImage.rect)
  11.     updateStage()
  12.     fnUpdatePreview()
  13.     sprite(35).pState = 0
  14.     sendSprite(35, #setMember)
  15.     member("state2 - " & gSize, gCast).image = member(gSize & "x" & gSize, gCast).image
  16.     myCurrentImage = VOID
  17.     myCurrentPreview = VOID
  18.   else
  19.     if gSelectionEdited = 0 then
  20.       if the shiftDown <> 1 then
  21.         myStartImage.fill(gSelectRect, gSecondColor)
  22.       end if
  23.       member("state1 - " & gSize, gCast).image = member(gSize & "x" & gSize, gCast).image
  24.     end if
  25.     if gSelectRect.width = gSelectRect.height then
  26.       myTempSelection = duplicate(myCurrentSelection)
  27.       myCurrentSelection.copyPixels(myTempSelection, [point(myCurrentSelection.width, 0), point(myCurrentSelection.width, myCurrentSelection.height), point(0, myCurrentSelection.height), point(0, 0)], myTempSelection.rect)
  28.       myCurrentImage.copyPixels(myStartImage, myCurrentImage.rect, myStartImage.rect)
  29.       myCurrentImage.copyPixels(myCurrentSelection, gSelectRect, myCurrentSelection.rect)
  30.       member(gSize & "x" & gSize, gCast).image.copyPixels(myCurrentImage, myCurrentImage.rect, myCurrentImage.rect)
  31.       updateStage()
  32.       fnUpdatePreview()
  33.       myTempSelection = VOID
  34.       gSelectionEdited = 1
  35.     else
  36.       if myCurrentSelection.depth = 32 then
  37.         myTempSelection = image(gSelectRect.height, gSelectRect.width, 32)
  38.         myTempSelection.useAlpha = 1
  39.       else
  40.         myTempSelection = image(gSelectRect.height, gSelectRect.width, member(gSize & "x" & gSize, gCast).depth, member(gSize & "x" & gSize, gCast).paletteRef)
  41.       end if
  42.       l = gSelectRect.left + (gSelectRect.width / 2) - (gSelectRect.height / 2)
  43.       r = l + gSelectRect.height
  44.       t = gSelectRect.top + (gSelectRect.height / 2) - (gSelectRect.width / 2)
  45.       b = t + gSelectRect.width
  46.       gSelDestRect = rect(l, t, r, b)
  47.       myTempSelection.copyPixels(myCurrentSelection, [point(myTempSelection.width, 0), point(myTempSelection.width, myTempSelection.height), point(0, myTempSelection.height), point(0, 0)], myCurrentSelection.rect)
  48.       myCurrentImage.copyPixels(myStartImage, myCurrentImage.rect, myStartImage.rect)
  49.       myCurrentImage.copyPixels(myTempSelection, gSelDestRect, myTempSelection.rect)
  50.       member(gSize & "x" & gSize, gCast).image.copyPixels(myCurrentImage, myCurrentImage.rect, myCurrentImage.rect)
  51.       sprite(4).rect = rect((gSelDestRect.left * gVariable) + sprite(1).left, (gSelDestRect.top * gVariable) + sprite(1).top, (gSelDestRect.right * gVariable) + sprite(1).left, (gSelDestRect.top * gVariable) + sprite(1).top + 1)
  52.       sprite(5).rect = rect((gSelDestRect.left * gVariable) + sprite(1).left, (gSelDestRect.top * gVariable) + sprite(1).top, (gSelDestRect.left * gVariable) + sprite(1).left + 1, (gSelDestRect.bottom * gVariable) + sprite(1).top)
  53.       sprite(6).rect = rect((gSelDestRect.right * gVariable) + sprite(1).left - 1, (gSelDestRect.top * gVariable) + sprite(1).top, (gSelDestRect.right * gVariable) + sprite(1).left, (gSelDestRect.bottom * gVariable) + sprite(1).top)
  54.       sprite(7).rect = rect((gSelDestRect.left * gVariable) + sprite(1).left, (gSelDestRect.bottom * gVariable) + sprite(1).top - 1, (gSelDestRect.right * gVariable) + sprite(1).left, (gSelDestRect.bottom * gVariable) + sprite(1).top)
  55.       updateStage()
  56.       fnUpdatePreview()
  57.       tL = point(sprite(4).left + 1, sprite(4).top + 1)
  58.       tR = point(sprite(4).right - 1, sprite(4).top + 1)
  59.       bL = point(sprite(7).left + 1, sprite(7).bottom - 1)
  60.       bR = point(sprite(7).right - 1, sprite(7).bottom - 1)
  61.       if not inside(tL, sprite(1).rect) and not inside(tR, sprite(1).rect) and not inside(bL, sprite(1).rect) and not inside(bR, sprite(1).rect) and (sprite(1).rect.intersect(rect(tL[1], tL[2], bR[1], bR[2])) = rect(0, 0, 0, 0)) then
  62.         myCurrentImage.copyPixels(myStartImage, myCurrentImage.rect, myStartImage.rect)
  63.         member(gSize & "x" & gSize, gCast).image.copyPixels(myCurrentImage, myCurrentImage.rect, myCurrentImage.rect)
  64.         sprite(4).rect = rect(800, 600, 810, 610)
  65.         sprite(5).rect = rect(800, 600, 810, 610)
  66.         sprite(6).rect = rect(800, 600, 810, 610)
  67.         sprite(7).rect = rect(800, 600, 810, 610)
  68.         put EMPTY into field "dimension status W"
  69.         put EMPTY into field "dimension status H"
  70.         updateStage()
  71.         fnUpdatePreview()
  72.         sprite(35).pState = 0
  73.         sendSprite(35, #setMember)
  74.         member("state2 - " & gSize, gCast).image = member(gSize & "x" & gSize, gCast).image
  75.         myTimerStart = 0
  76.         gSelectionEdited = VOID
  77.         gMarqueeRect = rect(0, 0, 0, 0)
  78.         gSelectRect = rect(0, 0, 0, 0)
  79.         myStartImage = VOID
  80.         myCurrentImage = VOID
  81.         myCurrentPreview = VOID
  82.         myCurrentSelection = VOID
  83.         myTempSelection = VOID
  84.       else
  85.         gMarqueeRect = rect(sprite(5).left, sprite(4).top, sprite(6).right, sprite(7).bottom)
  86.         gSelectRect = rect((sprite(5).left - sprite(1).left) / gVariable, (sprite(4).top - sprite(1).top) / gVariable, (sprite(6).right - sprite(1).left) / gVariable, (sprite(7).bottom - sprite(1).top) / gVariable)
  87.         put gSelectRect.width into field "dimension status W"
  88.         put gSelectRect.height into field "dimension status H"
  89.         myCurrentSelection = duplicate(myTempSelection)
  90.         myTempSelection = VOID
  91.         gSelectionEdited = 1
  92.       end if
  93.     end if
  94.   end if
  95.   cursor(0)
  96. end
  97.  
  98. on flipHorizontal
  99.   cursor(4)
  100.   if sprite(4).left = 800 then
  101.     member("state1 - " & gSize, gCast).image = member(gSize & "x" & gSize, gCast).image
  102.     myCurrentImage = duplicate(member(gSize & "x" & gSize, gCast).image)
  103.     myCurrentPreview = duplicate(member("preview", gCast).image)
  104.     Y = integer(gSize)
  105.     repeat with X = 0 to integer(gSize)
  106.       Y = Y - 1
  107.       myCurrentImage.copyPixels(member(gSize & "x" & gSize, gCast).image, rect(X, 0, X + 1, integer(gSize)), rect(Y, 0, Y + 1, integer(gSize)))
  108.     end repeat
  109.     member(gSize & "x" & gSize, gCast).image.copyPixels(myCurrentImage, myCurrentImage.rect, myCurrentImage.rect)
  110.     updateStage()
  111.     fnUpdatePreview()
  112.     sprite(35).pState = 0
  113.     sendSprite(35, #setMember)
  114.     member("state2 - " & gSize, gCast).image = member(gSize & "x" & gSize, gCast).image
  115.     myCurrentImage = VOID
  116.     myCurrentPreview = VOID
  117.   else
  118.     if gSelectionEdited = 0 then
  119.       if the shiftDown <> 1 then
  120.         myStartImage.fill(gSelectRect, gSecondColor)
  121.       end if
  122.       member("state1 - " & gSize, gCast).image = member(gSize & "x" & gSize, gCast).image
  123.     end if
  124.     myTempSelection = duplicate(myCurrentSelection)
  125.     Y = myCurrentSelection.width
  126.     repeat with X = 0 to myCurrentSelection.width
  127.       Y = Y - 1
  128.       myCurrentSelection.copyPixels(myTempSelection, rect(X, 0, X + 1, myCurrentSelection.height), rect(Y, 0, Y + 1, myCurrentSelection.height))
  129.     end repeat
  130.     myCurrentImage.copyPixels(myStartImage, myCurrentImage.rect, myStartImage.rect)
  131.     myCurrentImage.copyPixels(myCurrentSelection, gSelectRect, myCurrentSelection.rect)
  132.     member(gSize & "x" & gSize, gCast).image.copyPixels(myCurrentImage, myCurrentImage.rect, myCurrentImage.rect)
  133.     updateStage()
  134.     fnUpdatePreview()
  135.     myTempSelection = VOID
  136.     gSelectionEdited = 1
  137.   end if
  138.   cursor(0)
  139. end
  140.  
  141. on flipVertical
  142.   cursor(4)
  143.   if sprite(4).left = 800 then
  144.     member("state1 - " & gSize, gCast).image = member(gSize & "x" & gSize, gCast).image
  145.     myCurrentImage = duplicate(member(gSize & "x" & gSize, gCast).image)
  146.     myCurrentPreview = duplicate(member("preview", gCast).image)
  147.     X = integer(gSize)
  148.     repeat with Y = 0 to integer(gSize)
  149.       X = X - 1
  150.       myCurrentImage.copyPixels(member(gSize & "x" & gSize, gCast).image, rect(0, Y, integer(gSize), Y + 1), rect(0, X, integer(gSize), X + 1))
  151.     end repeat
  152.     member(gSize & "x" & gSize, gCast).image.copyPixels(myCurrentImage, myCurrentImage.rect, myCurrentImage.rect)
  153.     updateStage()
  154.     fnUpdatePreview()
  155.     sprite(35).pState = 0
  156.     sendSprite(35, #setMember)
  157.     member("state2 - " & gSize, gCast).image = member(gSize & "x" & gSize, gCast).image
  158.     myCurrentImage = VOID
  159.     myCurrentPreview = VOID
  160.   else
  161.     if gSelectionEdited = 0 then
  162.       if the shiftDown <> 1 then
  163.         myStartImage.fill(gSelectRect, gSecondColor)
  164.       end if
  165.       member("state1 - " & gSize, gCast).image = member(gSize & "x" & gSize, gCast).image
  166.     end if
  167.     myTempSelection = duplicate(myCurrentSelection)
  168.     X = myCurrentSelection.height
  169.     repeat with Y = 0 to myCurrentSelection.height
  170.       X = X - 1
  171.       myCurrentSelection.copyPixels(myTempSelection, rect(0, Y, myCurrentSelection.width, Y + 1), rect(0, X, myCurrentSelection.width, X + 1))
  172.     end repeat
  173.     myCurrentImage.copyPixels(myStartImage, myCurrentImage.rect, myStartImage.rect)
  174.     myCurrentImage.copyPixels(myCurrentSelection, gSelectRect, myCurrentSelection.rect)
  175.     member(gSize & "x" & gSize, gCast).image.copyPixels(myCurrentImage, myCurrentImage.rect, myCurrentImage.rect)
  176.     updateStage()
  177.     fnUpdatePreview()
  178.     myTempSelection = VOID
  179.     gSelectionEdited = 1
  180.   end if
  181.   cursor(0)
  182. end
  183.